/*
  画正方形
  题目描述
    输入一个正整数 n，要求输出一个 n 行 n 列的正方形图案（参考样例输入输出）。
    图案由大写字母组成。

    其中，第 1 行以大写字母 A 开头，第 2 行以大写字母 B 开头，以此类推；
    在每行中，第 2 列为第 1 列的下一个字母，第 3 列为第 2 列的下一个字母，以此类推；
    特别的，规定大写字母 Z 的下一个字母为大写字母 A。
  输入格式
    输入一行，包含一个正整数 n。约定 2 ≤ n ≤ 40。
  输出格式
    输出符合要求的正方形图案。
  输入输出样例
    输入 #1
      3
    输出 #1
      ABC
      BCD
      CDE
    输入 #2
      5
    输出 #2
      ABCDE
      BCDEF
      CDEFG
      DEFGH
      EFGHI
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n;
    string s;
    int num = 0;

    cin >> n;
    for (int i = 0; i < n; i++) {
        if (num > 25) {
            num = 0;
        }

        s = s + char('A' + num);
        num++;
    }

    for (int i = 1; i <= n; i++) {
        cout << s << endl;
        for (int j = 0; j < s.size(); j++) {
            if (s[j] + 1 > 'Z') {
                s[j] = 'A';
            } else {
                s[j] = s[j] + 1;
            }
        }
    }

    return 0;
}